let resultU = false;
let resultP = false;

function changeUsername() {
    let username = document.getElementById("username").value;
    let reg = /^[a-zA-Z]\w{5,15}$/;
    if (reg.test(username)) {
        resultU = true;
        document.getElementById("u_tishi").innerHTML = "你输入正确";
        document.getElementById("u_tishi").style.color = "green";
    } else {
        resultU = false;
        document.getElementById("u_tishi").style.color = "red";
        document.getElementById("u_tishi").innerHTML = "你输入不符合规范";
    }

}

function checkPassword() {
    let password = document.getElementById("password").value;
    let reg = /^[a-zA-Z]\w{5,15}$/;
    if (reg.test(password)) {
        resultP = true;
        document.getElementById("p_tishi").innerHTML = "你输入正确";
        document.getElementById("p_tishi").style.color = "green";
    } else {
        resultP = false;
        document.getElementById("p_tishi").style.color = "red";
        document.getElementById("p_tishi").innerHTML = "你输入不符合规范";
    }
}

function judge() {
    if (resultP && resultU) {
        return true;
    }
    return false;
}

function flushImg(e) {
    // console.log(document.getElementById("code"))
    // document.getElementById("code").style.src = "/code?date=" + Math.random();
    $(e).attr("src", "http://localhost:8081/code?date=" + Math.random());
}

function toRegisterPage() {
    // window.location.href = "/back/userRegiter.jsp";
    window.open("/back/userRegiter.jsp", "_blank");
}

$(function () {
    // sessionStorage
    let id = localStorage.getItem("userid");
    console.log(id + "--------" + (id !== 'null') + "=====" + (id != null))
    if (id != null && id !== 'null') {//如果id不为空，则需要进行查询,则表示编辑，否则是属于新增
        findByUserId(id);
    }

})

function findByUserId(id) {
    $.ajax({
        url: '/UserFindByUserIdServlet',//这里的注册代表编辑和新增连个功能
        data: {id: id},
        type: 'get',
        dataType: 'json',
        success: function (data) {
            console.log(data);
            setData(data[0]);
        }
    })

}

function setData(data) {
    $("#username").val(data.username);
    $("#username").attr("readonly", true);
    $("#password").val(data.password);
}

function save() {

    if (judge()) {
        let id = localStorage.getItem("userid");
        $.ajax({
            url: '/UserRegiterServlet',//这里的注册代表编辑和新增连个功能
            data: {
                id: id,
                username: $("#username").val(),
                password: $("#password").val(),
                code: $("#code").val()
            },
            type: 'post',
            dataType: 'json',
            success: function (data) {
                console.log(data)
                if (data[0].code == 1) {
                    if (id != null) {
                        $("#right").load("/back/userFindAll.jsp");
                        localStorage.setItem("userid", null);
                    } else {
                        window.open("/back/userLogin.jsp");
                    }

                }
            }
        })
    }
}

/**
 * 需求：我们需要用redis进行登陆认证
 * 1.登陆成功后需要将用户名存入到redis
 * 注意：因为我们的登录名不一样，不能用req.getSession().setAttribute("username", username);
 * 所以，我们需要将key设置为当前的登录名req.getSession().setAttribute(username,username);
 * redis则修改为Jedis jedis=new Jedis();
 * jedis.set(username,username);
 * 2.需要将登录名传递给前端，作用是我们需要每一次访问后台时，需要判断当前用户名是否在redis里面
 * 3.我们需要在前端将用户名存入本地或者cookies里面
 * 4.在每次调用后台接口时，需要将用户名带入，因为我们后台有一个过滤器，需要每次去判断当前用户名是否存在
 * 5.过滤器修改：
 *  Jedis jedis = new Jedis();
 *  String username = jedis.get(request.getParameter("token"));
 *6.前端修改
 *  var date = new Date();
 date.setTime(date.getTime() + 30 * 60 * 1000);
 $.cookie("token", data[0].result, {
                expires: date
            });
 7.myAjax修改：
 data.token = $.cookie("token");
 */
function login() {
    if (judge()) {
        let aa={
            username: $("#username").val(),
            password: $("#password").val(),
            code: $("#code").val()
        }
        console.log(aa);
        let data=myAjax("/UserLoginServlet",aa,"post");

        if (data[0].code == 200) {
         // localStorage.setItem("username",data[0].result);
            var date = new Date();
            date.setTime(date.getTime() + 30 * 60 * 1000);
            $.cookie("token", data[0].result, {
                expires: date
            });
         // sessionStorage.setItem("username",data[0].result);
            window.open("/back/homeManage.jsp");
        } else {
            alert("你输入的用户名或者密码错误");
        }
        // $.ajax({
        //     url: 'http://localhost:8081/UserLoginServlet',
        //     data: {
        //         username: $("#username").val(),
        //         password: $("#password").val(),
        //         code: $("#code").val()
        //     },
        //     type: 'post',
        //     xhrFields: {
        //         withCredentials: true //允许跨域带Cookie
        //     },
        //     dataType: 'json',
        //     success: function (data) {
        //         console.log(data)
        //         if (data[0].code == 200) {
        //             window.open("/back/homeManage.jsp");
        //         } else {
        //             alert("你输入的用户名或者密码错误");
        //         }
        //     }
        // })
    }
}